/*
 * Copyright (C) 2023 Huawei Device Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import { Demo, main } from './main';

export default {
    data: {
        demo: Demo.WEBGL1_SHADOW_DEMO,
        title: '',
    },
    onInit() {
        this.title = this.$t('strings.world');
    },
    onShow() {
        let canvas = this.$refs.canvas;
        if (this.demo.toUpperCase().startsWith('WEBGL1')) {
            globalThis.gl = canvas.getContext('webgl', {
                antialias: true, alpha: true, depth: true
            });
        } else {
            globalThis.gl = canvas.getContext('webgl2', {
                antialias: true, alpha: true, depth: true
            });
        }
        globalThis.gl.width = canvas.getBoundingClientRect().width;
        globalThis.gl.height = canvas.getBoundingClientRect().height;
        let gl = globalThis.gl;
        globalThis.gl.closed = false;
        main(gl, this.demo);
    },
    onHide() {
        globalThis.gl.closed = true;
    }
};
